package com.ruoyi.comparison.service;

import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.comparison.domain.TaskCheck;
import com.ruoyi.comparison.domain.bo.TaskCheckBo;
import com.ruoyi.comparison.domain.vo.TaskCheckVo;

import java.util.Collection;
import java.util.List;

/**
 * 查重任务Service接口
 *
 * @author ruoyi
 * @date 2023-11-05
 */
public interface ITaskCheckService {

    /**
     * 查询查重任务
     */
    TaskCheckVo queryById(Long id);

    /**
     * 查询查重任务列表
     */
    TableDataInfo<TaskCheckVo> queryPageList(TaskCheckBo bo, PageQuery pageQuery);

    /**
     * 查询查重任务列表
     */
    List<TaskCheckVo> queryList(TaskCheckBo bo);

    /**
     * 新增查重任务
     */
    Boolean insertByBo(TaskCheck taskCheck);

    /**
     * 修改查重任务
     */
    Boolean updateByBo(TaskCheckBo bo);

    /**
     * 校验并批量删除查重任务信息
     */
    Boolean deleteWithValidByIds(List<Long> ids);

    void updateById(TaskCheck taskCheck);

    void startTask(Long id) throws Exception;

    boolean checkProjectNamUnique(TaskCheck taskCheck);
}
